#include "mainscene.h"
#include "ui_mainscene.h"
#include <QPainter>
#include "mypushbutton.h"
#include <QTimer>

MainScene::MainScene(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainScene)
{
    ui->setupUi(this);

    connect(ui->actionquit,&QAction::triggered,[=](){
       this->close();
    }); //点击退出游戏，实行退出游戏功能

    this->setFixedSize(320,588);//设置游戏的固定尺寸
    this->setWindowTitle("大头翻金币 BigHead");//设置标题
    this->setWindowIcon(QPixmap(":/resource/Coin0001.png"));//设置图标

    //创建第二页面选择关卡的场景
    this->chooseScene = new ChooseLevelScene;

    //创建开始按钮的过程：创建、设置尺寸、设置不规则样式（否则就只是一个正方形的按钮）、设置功能即clicked
    MyPushButton * startBtn = new MyPushButton(":/resource/MenuSceneStartButton.png");//创建开始按钮
    startBtn->setParent(this);
    startBtn->move(this->width()*0.5 - startBtn->width()*0.5,this->height()*0.7);//设置按钮尺寸功能
    connect(startBtn,&MyPushButton::clicked,[=](){
      // qDebug()<<"进入选择关卡场景";（用来测试）
        startBtn->zoom1();//向下跳跃
        startBtn->zoom2();//向上跳跃

     //场景之间的过渡，延时进入下一页面
        QTimer::singleShot(500,this,[=](){
            this->chooseScene->show();//出现下一页面
            this->hide();//第一页面隐藏
        });


    });
    //监听选择关卡场景中的返回信号
    connect(this->chooseScene,&ChooseLevelScene::ChooseSceneBack,[=](){
        this->show();
        this->chooseScene->hide();
    });


}

void MainScene::paintEvent(QPaintEvent *)//绘图事件
{
    QPainter painter(this);//创建画家的对象
    QPixmap pix;//创建QPixmap对象
    pix.load(":/resource/PlayLevelSceneBg.png");//加载图片
    painter.drawPixmap(0,0,this->width(),this->height(),pix);//设置背景

    //设置标题图片
    pix.load(":/resource/Title.png");
    pix=pix.scaled(pix.width()*0.5,pix.height()*0.5);//对标题进行缩放
    painter.drawPixmap(10,30,pix);
}
MainScene::~MainScene()
{
    delete ui;
}
